﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;

namespace WebChatApi.Common
{
    /// <summary>
    /// Enum values for object State.
    /// </summary>
    [DataContract]
    public enum ObjectState
    {
        /// <summary>
        /// The value indicating that object is normal.
        /// </summary>
        [EnumMember]
        Normal = 0,
        /// <summary>
        /// The value indicating that object is deleted logically.
        /// </summary>
        [EnumMember]
        Deleted = 0x01,
        /// <summary>
        /// The value indicating that object is invisible.
        /// </summary>
        [EnumMember]
        Invisible = 0x02,
        /// <summary>
        /// The value indicating that object is readonly.
        /// </summary>
        [EnumMember]
        ReadOnly = 0x04,
        /// <summary>
        /// The value indicating that operation is succeed.
        /// </summary>   
        [EnumMember]
        Succeed = 0x10,
        /// <summary>
        /// The value indicating that operation is failed.
        /// </summary>   
        [EnumMember]
        Failed = 0x11,
        /// <summary>
        /// The value indicating that object or operation is pending.
        /// </summary>
        [EnumMember]
        Pending = 0x100,
        /// <summary>
        /// The value indicating that object or operation is approved.
        /// </summary>
        [EnumMember]
        Approved = 0x110,
        /// <summary>
        /// The value indicating that object or operation is rejected.
        /// </summary>
        [EnumMember]
        Rejected = 0x120,
        /// <summary>
        /// The value indicating that operation is in process.
        /// </summary>
        [EnumMember]
        InProcess = 0x140,
        /// <summary>
        /// The value indicating that object or operation is rejected.
        /// </summary>
        [EnumMember]
        Completed = 0x180
    }
}
